<template>
  <div class="level">
    <h1>医院</h1>
    <div class="content">
      <div class="left">等级:</div>
      <ul class="hospital">
        <li :class="{active: activeFlag == ''}" @click="changeLevel('')">全部</li>
        <li v-for="level in levelArr" :class="{active: activeFlag == level.value}" :key="level.value" @click="changeLevel(level.value)">{{ level.name }}</li>
      </ul>
    </div>
  </div>
</template>

<script setup lang="ts">
import { ref, onMounted } from "vue"
import { reqHospitalLevelAndRegion, reqHospitalInfo } from '@/api/home/index'
import type { HospitalLevelAndRegionResponseData, HospitalLevelAndRegionArr } from '@/api/home/type'

const levelArr = ref<HospitalLevelAndRegionArr>([])

const getLevel = async () => {
  const res: HospitalLevelAndRegionResponseData = await reqHospitalLevelAndRegion('HosType');
  levelArr.value = res.data
}

onMounted(() => {
 getLevel()
})

let activeFlag = ref<string>('')
let $emit = defineEmits(['getLevel']);
const changeLevel = async (item: string) => {
  activeFlag.value = item
  //触发自定义事件:将医院等级参数回传给父组件
  $emit('getLevel', item);
}
</script>

<style scoped lang="scss">
.level {
  color: #7f7f7f;
  margin-top: 20px;
  h1 {
    font-weight: 900;
    margin: 10px 0px;
  }
  .content {
    display: flex;
    .left {
      margin-right: 10px;
      width: 50px;
    }
    .hospital {
      display: flex;
      li {
        margin-right: 10px;
        &.active {
          color: #55a6fe;
        }
      }
      li:hover {
        color: #55a6fe;
        cursor: pointer;
      }
    }
  }
}
</style>